使用bash安裝gcloud cli

前言

因爲『懶』,所以要來搞個一個sh就能安裝完所有東西。
但在install gcloud就踩坑了。

正文

官方文件,這邊提到正常的安裝方式,

./google-cloud-sdk/install.sh

但這個是建立在人要在電腦前面輸入Y,於是改成

./google-cloud-sdk/install.sh --command-completion=true --path-update=true --quiet

這樣才會在.bashrc 增加執行的參數。

一開始沒有想到是沒有增加 .bashrc的關係,
只有一直出現找不到gcloud的錯誤,
最後確認163.Shell的區別及查詢的關係後,
才釐清是.bashrc沒加,
於是利用

./google-cloud-sdk/install.sh --help

查詢有哪些參數可供使用。

完整shell script

完整install.sh如下,需使用root執行,不然在安裝gcloud會出錯,
update-cert.sh是另一個shell script,是用gsutil拿來抓gcs的資料用。

curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-443.0.0-linux-x86_64.tar.gz
tar -xf google-cloud-cli-443.0.0-linux-x86_64.tar.gz
./google-cloud-sdk/install.sh --command-completion=true --path-update=true --quiet
source ~/.bashrc

gcloud auth activate-service-account view-bucket@project.iam.gserviceaccount.com --key-file=view-bucket.json

SCRIPTPATH=$(dirname "$(readlink -f $0)")
chmod u+x update-cert.sh

echo "30 1 * * 1 root /bin/bash ${SCRIPTPATH}/update-cert.sh" >> /etc/crontab

ref.